1. Field of the Invention
Embodiments of the present invention generally relate to high availability data storage systems and, more particularly, to a method and apparatus for immunizing applications on a host server from a switch component failover within a switch that connects a storage volume to a server.
2. Description of the Related Art
Modern computer networks generally comprise a plurality of user computers connected to one another and to a computer server via a communication network. To provide redundancy and high availability of the information in applications that are executed upon the computer server, multiple computer servers maybe arranged in a cluster, i.e., forming a server cluster. Such server clusters are available under the trademark VERITAS CLUSTER SERVER from Veritas Software Corporation at Mountain View, Calif. In a center of a cluster, a plurality of servers communicate with one another to facilitate failover redundancy such that when software or hardware, i.e., computer resources, become inoperative on one server, another server can quickly execute the same software that was running on the inoperative server substantially without interruption. As such, user services that are supported by a server cluster would not be substantially impacted by inoperative server or software.
Within a server cluster, the servers are generally connected to at least one switch that controls routing of data to/from one or more storage volumes. Each switch contains a plurality of switch components that facilitate routing data and read/write requests to and from the storage volume or volumes. The switch component comprises a computer processor that executes storage volume manager software containing a virtualization engine. One example at storage volume manager software is the VERITAS VOLUME MANAGER (VxVM) available from Veritas Software Corporation of Mountain View, Calif. The virtualization engine provides virtual logic units (VLUNs) that are mapped to the various physical logical units of the storage volumes. Such virtualization enables the server to address the storage volume through the use of VLUNs.
The storage volume generally comprises two data ports that are each coupled to a host server via a data switch. Each of the data ports of the storage volume are coupled to a virtualization card within the switch. A virtualization card is a specific embodiment of a switch component that executes the volume manager software and provide virtualization services to the host server. The virtualization cards are coupled to separate data ports on the host server. A processor within the switch designates the two data ports as active, while one virtualization card is deemed active and the other virtualization card is deemed to be in a standby mode. As such, one card actively provides virtualization services and the other card awaits failure of the active card. Upon failure of the active card, the standby card is activated and begins to provide virtualization services. In this manner, the two virtualization cards supporting the two data ports form a failover pair of cards.
During the virtualization card failover process, the host server operates in a normal manner and continues to issue read/write requests. When the active virtualization card fails, the failover process begins and the read/write requests cannot be serviced from any of the ports until the failover process completes. When the read/write command is not answered by the storage volume, the host server will issue a “health command” or other form of status check request that will request information regarding the availability of the VLUN. Since the virtualization cards are in the midst of a failover process, status check requests of the VLUN are not serviced/responded. Such an occurrence may cause the host server to begin a failover process to another server, may cause an application to crash, or may cause the server operating system to crash.
Therefore, there is a need in the art for a method and apparatus to immunize applications executing on the host server from the virtualization card failover process occurring in the switch such that the host server will not be affected by such a failover process.